package com.leyou.item.service;

import com.leyou.item.pojo.SpecGroup;
import com.leyou.item.pojo.SpecParam;

import java.util.List;

public interface SpecificationService {

    /**
     * 根据商品分类id规格组信息
     * @param cid 商品分类id
     * @return
     */
    List<SpecGroup> queryGroupsByCid(Long cid);

    /**
     * 修改商品规格组名
     * @param specGroup
     */
    void updateSpecGroupName(SpecGroup specGroup);

    /**
     * 添加新组名
     * @param cid 组名id
     * @param name 新组名
     */
    void addSpecGroupName(Long cid, String name);

    /**
     * 删除规则组
     * @param id 规则组id
     */
    void deleteSpecGroup(String id);

    /**
     * 查询商品规格组参数
     * @param gid 规则组id
     * @Param 其他是考虑后面搜索需要使用的字段
     * @return
     */
    List<SpecParam> selectSpecParam(Long gid, Long cid, Boolean generic, Boolean searching);

    /**
     * 增加新的规则参数
     * @param specParam 规则参数
     */
    void addSpecParam(SpecParam specParam);

    /**
     * 修改规格参数
     * @param specParam 规则参数
     */
    void updateSpecParam(SpecParam specParam);

    /**
     * 删除规格参数信息
     * @param id 规格参数id
     */
    void deleteSpecParam(Long id);

    /**
     * 查询规格参数组，及组内参数
     * @param cid
     * @return
     */
    List<SpecGroup> querySpecsByCid(Long cid);
}
